[Forth]
lexer=forth
keywords.0=name:Control keywords::AGAIN BEGIN CASE DO ELSE ENDCASE ENDOF IF LOOP OF REPEAT THEN UNTIL WHILE [IF] [ELSE] [THEN]\
?DO

keywords.1=name:Keywords::DUP DROP ROT SWAP OVER @ ! 2@ 2! 2DUP 2DROP 2SWAP 2OVER NIP R@ >R R>\
2R@ 2>R 2R> 0= 0< SP@ SP! W@ W! C@ C! < > = <> 0<>SPACE SPACES\
KEY? KEY THROW CATCH ABORT */ 2* /MOD CELL+ CELLS CHAR+ CHARS MOVE ERASE DABS TITLE HEX\
DECIMAL HOLD <# # #S #> SIGN D. . U. DUMP (.") >NUMBER ' IMMEDIATE EXIT RECURSE\
UNLOOP LEAVE HERE ALLOT , C, W, COMPILE, BRANCH, RET, LIT, DLIT, ?BRANCH, , >MARK >RESOLVE1 <MARK\
>RESOLVE ALIGN ALIGNED USER-ALLOT USER-HERE HEADER DOES> SMUDGE HIDE :NONAME LAST-WORD ?ERROR ERROR2 FIND1 SFIND SET-CURRENT GET-CURRENT\
DEFINITIONS GET-ORDER FORTH ONLY SET-ORDER ALSO PREVIOUS VOC-NAME. ORDER LATEST LITERAL 2LITERAL SLITERAL CLITERAL ?LITERAL1 ?SLITERAL1 HEX-LITERAL\
HEX-SLITERAL ?LITERAL2 ?SLITERAL2 SOURCE EndOfChunk CharAddr PeekChar IsDelimiter GetChar OnDelimiter SkipDelimiters OnNotDelimiter SkipWord SkipUpTo ParseWord NextWord PARSE\
SKIP CONSOLE-HANDLES REFILL DEPTH ?STACK ?COMP WORD INTERPRET BYE QUIT MAIN1 EVALUATE INCLUDE-FILE INCLUDED >BODY +WORD WORDLIST\
CLASS! CLASS@ PAR! PAR@ ID. ?IMMEDIATE ?VOC IMMEDIATE VOC WordByAddrWl WordByAddr NLIST WORDS SAVE OPTIONS /notransl ANSI>OEM\
ACCEPT EMIT CR TYPE EKEY? EKEY EKEY>CHAR EXTERNTASK ERASE-IMPORTS ModuleName ModuleDirName ENVIRONMENT? DROP-EXC-HANDLER SET-EXC-HANDLER HALT ERR CLOSE-FILE\
CREATE-FILE CREATE-FILE-SHARED OPEN-FILE-SHARED DELETE-FILE FILE-POSITION FILE-SIZE OPEN-FILE READ-FILE REPOSITION-FILE DOS-LINES UNIX-LINES READ-LINE WRITE-FILE RESIZE-FILE WRITE-LINE ALLOCATE FREE\
RESIZE START SUSPEND RESUME STOP PAUSE MIN MAX TRUE FALSE ASCIIZ> R/O W/O ;CLASS ENDWITH OR AND\
/STRING SEARCH COMPARE EXPORT ;MODULE SPACE

keywords.2=name:Definition Words::VARIABLE CREATE : VALUE CONSTANT VM: M: var dvar chars OBJ CONSTR: DESTR: CLASS: OBJECT: POINTER USER\
USER-CREATE USER-VALUE VECT WNDPROC: VOCABULARY -- TASK: CEZ: MODULE:

keywords.3=name:Prewords with one argument::CHAR [CHAR] POSTPONE WITH ['] TO [COMPILE] CHAR ASCII \'

keywords.4=name:Prewords with two arguments::REQUIRE WINAPI:

keywords.5=name:String definition keywords::S" ABORT" Z" " ." C"

style.33=name:LineNumbers,fore:clBlack,back:clSilver,font:Arial
style.34=name:Ok Braces,fore:clBlue,bold
style.35=name:Bad Braces,fore:clRed,bold
style.36=name:Control Chars,back:clSilver
style.37=name:Indent Guide,fore:clSilver
style.0=name:Default
style.1=name:Comment,fore:clGreen
style.2=name:Comment ML,fore:clGreen
style.3=name:Identifier,bold
style.4=name:Control Keywords,fore:#00007F,bold
style.5=name:Keywords,fore:clNavy,bold
style.6=name:Definition Words,fore:clRed,bold
style.7=name:Prewords with one argument,fore:#CC3300,bold
style.8=name:Prewords with two arguments,fore:#996633,bold
style.9=name:Number,fore:clTeal
style.10=name:String,fore:#CC3300
style.11=name:Locale,fore:#0000CC

CommentBoxStart=/*
CommentBoxEnd=*/
CommentBoxMiddle=*
CommentBlock=//
CommentStreamStart=/*
CommentStreamEnd=*/
AssignmentOperator==
EndOfStatementOperator=;